package com.justgame.project.service.system.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.justgame.project.cloud.base.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

/**
*
* 系统文件信息存储表
*
* @tableName sys_file_info
* @author Zwb
*/
@Data
@TableName("sys_file_info")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="SysFileInfo对象", description="系统文件信息存储表")
public class SysFileInfo extends BaseEntity {
    /**
     * 文件名
     */
    @ApiModelProperty(value = "文件名")
    private String name;

    /**
     * 存储路径
     */
    @ApiModelProperty(value = "存储路径")
    private String path;

    /**
     * 文件大小（bite字节）
     */
    @ApiModelProperty(value = "文件大小（bite字节）")
    private String size;

    /**
     * 文件后缀
     */
    @ApiModelProperty(value = "文件后缀")
    private String suffix;

    /**
     * 访问权限
     */
    @ApiModelProperty(value = "访问权限")
    private AccessLevel accessLevel;

    /**
     * 文件访问密码
     */
    @ApiModelProperty(value = "文件访问密码")
    private String lockPassword;

    /**
     * 是否需要预删除（未来的某一时间会删除，因此暂时判定为已删除。定时器会自动处理删除这个动作）
     */
    @ApiModelProperty(value = "是否需要预删除（未来的某一时间会删除，因此暂时判定为已删除。定时器会自动处理删除这个动作）")
    private Boolean willDel;

    /**
     * 访问权限 枚举值
     */
    public enum AccessLevel{
        /**
         * 公共权限
         */
        PUBLIC,
        /**
         * 需要验证身份
         */
        AUTH,
        /**
         * 私密权限
         */
        PRIVATE
    }

}
